package com.feri.rbacsys.controller;

import com.feri.rbacsys.service.intf.RoleService;
import com.feri.rbacsys.vo.R;
import io.swagger.annotations.Api;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;

/**
 * 17.角色表(SysRole)表控制层
 *
 * @author makejava
 * @since 2023-03-26 10:40:28
 */
@RestController
@RequestMapping("/erp/api/role/")
@Api(tags = "角色管理")
public class RoleController {
    /**
     * 业务对象
     */
    @Resource
    private RoleService service;

    /**
     * 新增角色
     * @param name 角色名
     * @param description 角色描述
     * @return
     */
    @PreAuthorize("hasAuthority('role:add')")
    @GetMapping("add")
    public R add(String name, String description){
        return service.add(name,description);
    }

    /**
     * 分页查询角色
     * @param page
     * @param size
     * @return
     */
    @PreAuthorize("hasAuthority('role:page')")
    @GetMapping("page")
    public R page(int page,int size){
        return service.queryPage(page, size);
    }

    /**
     * 修改角色
     * @param rid
     * @return
     */
    @PreAuthorize("hasAuthority('role:update')")
    @GetMapping("update")
    public R updateUr(int rid){
        return service.updateByUid(rid);
    }

    /**
     * 查询所有角色不分页
     * @return
     */
    @PreAuthorize("hasAuthority('role:all')")
    @GetMapping("all")
    public R all(){
        return service.all();
    }
}
